package cn.com.surker.production.entity;

import cn.com.surker.base.BaseEntity;
import cn.com.surker.enums.StateEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产计划泵送设备表
 * </p>
 *
 * @author admin
 * @since 2024-09-19
 */
@Data
@EqualsAndHashCode(callSuper = false, of = {"orgId", "indentId", "castModeId", "pumpDevice", "status"})
//	同一个站点,任务单id一样,泵送设备一样,则表示为同一个数据
@Accessors(chain = true)
public class ProductionIndentPump extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	public ProductionIndentPump() {
	}

	public ProductionIndentPump(Long orgId, Long castModeId, Long pumpDevice, Long pumpType, Long pumpNorm) {
		this.orgId = orgId;
		this.pumpDevice = pumpDevice;
		this.pumpType = pumpType;
		this.pumpNorm = pumpNorm;
		this.castModeId = castModeId;
		this.createTime = new Date();
		this.status = StateEnum.ENABLED.getCode();
	}

	/**
	 * 标识
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 公司ID
	 */
	private Long orgId;

	/**
	 * 任务单
	 */
	private Long indentId;

	/**
	 * 泵送设备
	 */
	private Long pumpDevice;

	/**
	 * 结算设备种类
	 */
	private Long pumpType;

	/**
	 * 结算设备规格
	 */
	private Long pumpNorm;

	/**
	 * 泵送方量
	 */
	private Double pumpStere;

	/**
	 * 录入泵送人员
	 */
	private String enterUserId;

	/**
	 * 录入泵送人员名
	 */
	private String enterUserName;

	/**
	 * 浇筑方式
	 * 20250514新增
	 */
	private Long castModeId;

	/**
	 * 是否默认
	 */
	private Integer isDefault;
}
